C语言 实现十进制转二十六进制

您所在的位置:网站首页 10进制转ascii c语言 C语言 实现十进制转二十六进制

C语言 实现十进制转二十六进制

2023-09-02 19:14| 来源: 网络整理| 查看: 265

比如说给出一个十进制数字,如何将他转为以字母为形式的二十六进制呢?

这里提供两个思路方法

方法一:以字母为单位结合光标前移操作

#include #include int main() { //创建26进制数组,把二十六个字母储存在一个诉诸中 char n[27]; int i; for (i = 1; i < 27; i++) { n[i] = 'A' + i - 1; }//这里是利用ASCII码把字母全部储存 //输入十进制数字 int x; scanf("%d", &x); //定义储存字母的数组,也就是说转进制后的字母会以数组的方式储存 char m[1000]; int j = -1; //开始转进制 得到逆向的字符串 while (x != 0) { j++; int ret; ret = x % 26;//得到了除以26的余数 m[j] = n[ret];把这个余数和一开始储存的数组做一个转换 x /= 26; printf("'\b'");//把光标前移一位 } return 0; } 复制代码

方法二:先得到逆序的二十六进制数,再通过倒序实现

#include #include int main() { //创建26进制数组 char n[27]; int i; for (i = 1; i < 27; i++) { n[i] = 'A' + i - 1; } //输入 int x; scanf("%d", &x); //定义储存26进制字母的数组 char m[1000]; int j = -1; //开始转进制 得到逆向的字符串 while (x != 0) { j++; int ret; ret = x % 26; m[j] = n[ret]; x /= 26; } j = j + 1; //把逆向的字符串正向输出 while (j--) { printf("%c", m[j]); } return 0; } 复制代码

一个操作是把光标前移,一个是将错就错得到逆序的字符串,再多一步逆序。

输入 1 输出 A

输入36 输出AJ

输入 66666 输出CTPB



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3